package com.ruoyi.zxjd.document.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 公文管理对象 document_arrange
 * 
 * @author lcc
 * @date 2021-01-28
 */
public class DocumentArrange extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公文ID */
    private Long arrangeId;

    /** 公文标题 */
    @Excel(name = "公文标题")
    private String arrangeTitle;

    /** 重要程度（1普通 2重要 3紧急） */
    @Excel(name = "重要程度", readConverterExp = "1=普通,2=重要,3=紧急")
    private String documentImportance;

    /** 发布范围 */
    @Excel(name = "发布范围")
    private String releaseScope;

    /** 参与人数 */
    @Excel(name = "参与人数")
    private Long total;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 需要回执（0不需要 1需要） */
    @Excel(name = "需要回执", readConverterExp = "0=不需要,1=需要")
    private String receiptTips;

    /** 站内提示（0不提示 1提示） */
    @Excel(name = "站内提示", readConverterExp = "0=不提示,1=提示")
    private String websiteTips;

    /** 短信提示（0不提示 1提示） */
    @Excel(name = "短信提示", readConverterExp = "0=不提示,1=提示")
    private String smsTips;

    /** 附件 */
    @Excel(name = "附件")
    private String attachments;

    /** 公文内容 */
    private String documentContent;

    /** 工作状态（0草稿 1已发布） */
    @Excel(name = "工作状态", readConverterExp = "0=草稿,1=已发布")
    private String status;

    /** 发起人ID */
    @Excel(name = "发起人ID")
    private Long userId;

    /** 发起人 */
    @Excel(name = "发起人")
    private String userName;

    /** 发起机构ID */
    @Excel(name = "发起机构ID")
    private Long deptId;

    /** 发起机构 */
    @Excel(name = "发起机构")
    private String deptName;

    /** 公文处理信息 */
    private List<DocumentProgress> documentProgressList;

    /** 选择用户范围 */
    private String[] userIds;

    public void setArrangeId(Long arrangeId) 
    {
        this.arrangeId = arrangeId;
    }

    public Long getArrangeId() 
    {
        return arrangeId;
    }
    public void setArrangeTitle(String arrangeTitle) 
    {
        this.arrangeTitle = arrangeTitle;
    }

    public String getArrangeTitle() 
    {
        return arrangeTitle;
    }
    public void setDocumentImportance(String documentImportance) 
    {
        this.documentImportance = documentImportance;
    }

    public String getDocumentImportance() 
    {
        return documentImportance;
    }
    public void setReleaseScope(String releaseScope) 
    {
        this.releaseScope = releaseScope;
    }

    public String getReleaseScope() 
    {
        return releaseScope;
    }
    public void setTotal(Long total) 
    {
        this.total = total;
    }

    public Long getTotal() 
    {
        return total;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public String getReceiptTips() {
        return receiptTips;
    }

    public void setReceiptTips(String receiptTips) {
        this.receiptTips = receiptTips;
    }

    public void setWebsiteTips(String websiteTips) 
    {
        this.websiteTips = websiteTips;
    }

    public String getWebsiteTips() 
    {
        return websiteTips;
    }
    public void setSmsTips(String smsTips) 
    {
        this.smsTips = smsTips;
    }

    public String getSmsTips() 
    {
        return smsTips;
    }
    public void setAttachments(String attachments) 
    {
        this.attachments = attachments;
    }

    public String getAttachments() 
    {
        return attachments;
    }
    public String getDocumentContent() {
        return documentContent;
    }

    public void setDocumentContent(String documentContent) {
        this.documentContent = documentContent;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }

    public List<DocumentProgress> getDocumentProgressList()
    {
        return documentProgressList;
    }

    public void setDocumentProgressList(List<DocumentProgress> documentProgressList)
    {
        this.documentProgressList = documentProgressList;
    }

    public String[] getUserIds() {
        return userIds;
    }

    public void setUserIds(String[] userIds) {
        this.userIds = userIds;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("arrangeId", getArrangeId())
            .append("arrangeTitle", getArrangeTitle())
            .append("documentImportance", getDocumentImportance())
            .append("releaseScope", getReleaseScope())
            .append("total", getTotal())
            .append("startDate", getStartDate())
            .append("endDate", getEndDate())
            .append("receiptTips", getReceiptTips())
            .append("websiteTips", getWebsiteTips())
            .append("smsTips", getSmsTips())
            .append("attachments", getAttachments())
            .append("documentConten", getDocumentContent())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("documentProgressList", getDocumentProgressList())
            .toString();
    }

}
